Such drones are provided with multiple rotors driven by respective motors that can be controlled in a differentiated manner so as to pilot the drone in attitude and speed.
A typical example of such a drone is the AR.Drone 2.0 of Parrot SA, Paris, France, which is a quadricopter equipped with a series of sensors (accelerometers, three-axis gyrometers, altimeter), a front camera capturing an image of the scene towards which the drone is directed, and a vertical-view camera capturing an image of the overflown ground.
The invention more particularly relates to the automatic control of such a drone to ensure a transition between:                an initial state, in which the drone motors are turned-off and hence in which the rotors are stopped, and        a final state, in which the drone is in a lift condition, i.e. its horizontal and vertical speeds are zero or almost-zero, as well as its inclination.        
Most often, the initial state is a state in which the drone rests, still, on the ground. The user then triggers the turn-on of the motors from his remote control and makes the drone evolve by means of suitable commands, possibly after that, in a previous phase of auto-piloted take-off, the drone has automatically taken a lift condition at a predetermined height above the ground.
The invention relates to a method of dynamic control of the drone, which supports another technique of flight initiation, of the “throw start” type, in which the user holds the drone in his hand, motors turned-off, and releases or throws the latter into space.
The matter is then to ensure a fast turn-on of the motors so as to counter the free fall effect, and to automatically stabilize the drone in attitude and altitude before it has the time to fall to the ground.
The WO 2013/123944 A1 hence describes a drone that can be used in particular in rescue operations, for example in the form of a lifebuoy that would be thrown from a boat or from the dry land to a person in distress. The drone, initially put on the ground with its motors turned-off, is grasped and thrown by a rescuer towards the person in distress. The turn-on of the motors is automatic, and the drone places itself automatically in hovering flight above the person in distress to drop him/her a security equipment. However, this document does not describe the way the motors of the drone are precisely controlled and servo-controlled to perform safely and rapidly a transition between the initial state, at the time where the drone is thrown by the rescuer with its motors turned-off, and the stable lift state in hovering flight.
The problem of the invention is to ensure this stabilization in the most efficient and rapid manner possible during the previous phase of “throw start”, which will last until the drone is stabilized enough to be able to quit the temporary auto-piloted mode and to transfer the control to the user.
This stabilization is all the more difficult to ensure that, unlike a start with a take-off from the ground, where the drone is still and the initial altitude is known (zero), in the case of a throw start, the initial conditions may vary in very large proportions, a priori unpredictable:
simple release, hence with a zero initial speed, or throw, with a more or less high initial impulse speed in a direction that is a priori unknown (rather upward, rather horizontal . . . );
flat throw or “spin” throw, introducing angular speed components;
height with respect to the ground at which the user releases or throws the drone;
external conditions: wind, ground effect or effect of a wall in the vicinity, etc.
It is also advisable to avoid or reduce to a minimum any incoherent effect of the motors during the phase of stabilization, for example any thrust exerted in the wrong direction, which would tend to push the drone towards the ground.
The EP 2 644 240 A1 describes in detail the operation of a Kalman-filter altitude estimator, but gives no indication about the way to use this estimator to control the drone motors in a “throw start” or “release start” configuration.
In another context, the article of Lupashin S et al. “A Simple Learning Strategy for High-Speed Quadrocopter Multi-Flips”, Proceedings of the 2010 IEEE International Conference on Robotics and Automation, May 2010, pp. 1642-1648 describes how to control a drone of the quadricopter type to perform a manoeuvre of the “spin” or “somersault” type (rotation of the drone by a full turn about its roll axis or its pitch axis). But this manoeuvre is in any case performed starting from an initial lift state in which the motors are already activated—the matter is hence not to place the drone in a final lift state, from an initial state where the latter is thrown in some or other way with its motors turned-off. Moreover, this article describes how to optimize a number of parameters to generate a precise trajectory, always the same (spin or somersault), with pre-calculated commands of trajectory. Actually, such a method would be unsuited to the stabilization of a drone after some or other throw, whose initial parameters of speed and acceleration may be very variable and are in any case un-predictable. Finally, the transitions between the different steps of execution of the spin or the somersault always occur at the same time and are not a function of the initial movement of the drone: it is hence not necessary, in this case, to provide a particular strategy of control of an altitude estimator as a function of the initial conditions.
The object of the invention is, as mentioned hereinabove, to propose a method allowing, in the case of a throw start, to generate the transition from an initial state, in which the drone suddenly ends up in a free fall condition with its motors turned-off, to a final state in which the drone is stabilized in a lift condition at a certain height above the ground, and in which the control can be transferred to the user, the whole within a minimum time.
Such a method may be implemented, in a manner known per se for example from the above-mentioned WO 2013/123944 A1, with a drone comprising: accelerometer means, adapted to deliver values of acceleration of the drone; gyrometer means, adapted to deliver values of angular speed of the drone; altimeter means, adapted to deliver a value of altitude of the drone; altitude control means, comprising a servo-controlled loop operating based on an altitude set-point; and attitude control means, comprising a servo-controlled loop operating based on an attitude set-point.
Characteristically of the invention, the altimeter means comprising a predictive-filter estimator incorporating a representation of a dynamic model of the drone and operating based on a state vector containing altitude and horizontal speed variables, and the method comprises the following steps:
a) initialization of the predictive-filter estimator;
b) throwing of the drone in the air by the user from the initial state, motors turned-off;
c) detection of a free fall state such that the norm of the drone acceleration is lower than a predetermined threshold for a predetermined minimum duration;
d) upon detection of said free fall state, fast start by:
turn-on of the motors,
open-loop activation of the altitude control means, and
closed-loop activation of the attitude control means;
e) then, after a duration at least equal to a time of response of the motors to said turn-on, stabilization of the drone by:
closed-loop activation of the altitude control means, and
closed-loop activation of the attitude control means;
f) detection of a stabilization state such that the norm of the total angular speed (|Ω|) of the drone is lower than a predetermined threshold; and
g) upon detection of the stabilization state, switching to the final state.
According to various subsidiary advantageous characteristics: the step a) of initialization of the predictive-filter estimator comprises the initialization of the state vector with an altitude variable comprised between 1 m and 2 m, a vertical speed variable positive upward and comprised between 0 and 200 cm/s, and/or an interval of confidence of the initial speed of the drone at a value comprised between 100 mm/s and 2000 mm/s;
at step d), the altitude control means activated in open loop operate based on a fixed altitude set-point corresponding to the initial state of the altitude estimator;
at step e), the altitude control means activated in closed loop operate based on a predetermined fixed altitude set-point; and
at steps d) and e), the attitude control means activated in closed loop operate based on a zero trim set-point and a heading set-point corresponding to the current heading with a zero angular speed set-point.